#!/usr/bin/env node

// Get the current git hash, and save (overwrite) it into out/framework/version.js
// so it can be read when running inside the browser.

/* eslint-disable no-console */

require('../src/common/tools/setup-ts-in-node.js');
const fs = require('fs');

const myself = 'tools/gen_version';
if (!fs.existsSync(myself)) {
  console.error('Must be run from repository root');
  process.exit(1);
}

const { version } = require('../src/common/tools/version.ts');

fs.mkdirSync('./out/common/framework', { recursive: true });
// Overwrite the version.js generated by TypeScript compilation.
fs.writeFileSync(
  './out/common/internal/version.js',
  `\
// AUTO-GENERATED - DO NOT EDIT. See ${myself}.

export const version = '${version}';
`
);

// Since the generated version.js was overwritten, its source map is no longer relevant.
try {
  fs.unlinkSync('./out/common/internal/version.js.map');
} catch (ex) { }
